This invention relates to a passive programmable resistance device, and, more particularly, to a resistance device which utilizes closed loop feedback to control the movement of an object. Such a device can be utilized in numerous and varied fields. For example, my prior U.S. patent application Ser. No. 949,237, (now U.S. Pat. No. 4,354,676) filed Oct. 13, 1978 describes the use of a passive programmable resistance device in an exercise machine to control the movement of the exercise bar.
In the broadest sense, the resistance device can be used to increase accuracy and smoothness of a process involving motion of a mechanical system, to provide a braking or cushioning effect, or a regulated means to dissipate mechanical energy. For example, industrial and manufacturing procedures frequently use robotics for performing certain operations. A passive programmable resistance device could be incorporated in a robot to control the movement of the robot.
The invention provides a controlled programmable resistance to motion of a mechanical system utilizing passive hydraulic components. A computer or microcomputer is utilized to provide programmable controlled feedback to the hydraulic components.
This system for controlling resistance does not require any active hydraulics, such as pumps or other power sources, and requires very few mechanical components. When using the invention in an exercise machine, for example, the result is an inherently safe means for controlling exercise.
The basic principle of the invention is a closed loop feedback process. Once a specific resistive function for which the controller is programmed has been selected, the feedback process can be broken down into steps as follows:
1. At regular intervals input signals appropriate for the specified control function are read by the computer or microcomputer. Signals include one related to the force on the mechanical system and/or one related to the position or orientation of the mechanical system.
2. If needed, velocity of the mechanical system can be calculated from position input over time, and compensations and corrections can be made to the input and quantities to account for non-linearity in the system and effects of mechanical geometry.
3. Based on quantities after all corrections have been made, the computer or microcomputer determines a feedback action to be applied to a hydraulic control valve.
4. As a result of closed loop feedback control of the valve positon, control of the resistive force as measured at an appropriate point on the mechanical assembly is accom- plished.
5. The control feedback process is repeated at regular intervals, steps 1 through 4.
The function of the computer or microcomputer in this invention is that of reading the signals related to force and/or position. From this information, and as a result of the programmed control function, a feedback output to the system is calculated. This feedback is then input to the motor controlling the valve. The computer or microcomputer can thus be viewed as a black box which performs a specified control/feedback function.
There are other means to perform the control/feedback function not involving computers or microcomputers. However, any of these means not using a programmable computer device would not have the degree of flexibility possessed by the present invention. When utilizing a microcomputer in this invention, a level of economy can be achieved not possible with other devices.
A central feature in the design of this invention is the feedback algorithm. Once the input signals have been translated to numerical quantities, calculation of the feedback takes place. In general, a description of the feedback function is: EQU FEEDBACK=F (Force, Position, Time)
Different control requirements require different algorithms as do different machine geometries and different hydraulic components. A typical control requirement might require a resistance held to a predetermined force or velocity. For example, a simple feedback algorithm which will control a force begins by first determining the difference between the actual observed force and the force which is desired: EQU S=k(fd-fa)
Where
S=the numerical value of the feedback output, PA1 k=a constant, PA1 fd=desired force, PA1 fa=actual force.
This feedback function is a linear function where the constant k is determined while considering the specific hydraulic and mechanical system utilized.
A feedback function similar to the one described can be utilized to control velocity, rather than force. To accomplish this control, desired and actual forces would be replaced with desired and actual velocities.
Other more eloborate feedback algorithms can be developed which can better serve specific purposes. The example given does function well and is a useful and simple illustration of the principle.
There are a multitude of other feedback functions which can perform useful control functions. There are certain types of useful control functions which cannot be readily expressed with a single concise equation. An example of one such control function is called the "stickpoint function." A "stickpoint" control function might be defined as a control function which at some point abruptly changes the resistance to the maximum amount. The resistance is at a maximum for a specific period of time, after which the resistance returns to a level dictated by the background control function. The background control function can be any control function regulating force, velocity, or acceleration.
Other advantages accrue from incorporating a computer or microcomputer in the control system. For example, during those times the computer is not engaged in the actual control and feedback activity, the processor may, as required perform other useful activities in the system. These activities can include recording or display of relevant data of the control process. Note that these activities are not directly linked to the feedback process itself. When incorporating a microcomputer in the described control process, it also becomes possible to easily use this invention as a part of a larger system which incorporates many more processors or sensors. Applications which may benefit from this approach include those in robotics and those relating to industrial processes.